<?php
#[空间信息]
$sysnav = "file";

$can_w1 = '$can1';
$can_w2 = '$can2';

if(!file_exists("admin/space_c.qg.php"))
{
	file_put_contents("admin/space_c.qg.php","<?php\n$can_w1 = 1000;\n$can_w2 = 0;\n?>");
}
require_once("admin/space_c.qg.php");
if(file_exists("data/cache/space.cache.php"))
{
	require_once("data/cache/space.cache.php");
}

if($act=="set")
	{
		$rs_msg = $STR->safe($_POST);
		if($rs_msg["can2"]>=$rs_msg["can1"]){
			Error("虚拟空间大小不能大于等于总空间大小",$mainlink."?file=space&act=modify");
		}
		else{
			$rs_msg["can1"] = intval($rs_msg["can1"]);
			$rs_msg["can2"] = intval($rs_msg["can2"]);
			file_put_contents("admin/space_c.qg.php","<?php\n$can_w1 = ".$rs_msg["can1"].";\n$can_w2 = ".$rs_msg["can2"].";\n?>");
			Error("修改成功",$mainlink."?file=space&act=view");
		}
}
elseif($act=="view")
{
	if(file_exists("data/cache/space.cache.php"))
	{
		$sp_all_d = $list["sp_all_d"];
		$sp_lav_d = $list["sp_lav_d"];
		$sp_use_d = $list["sp_use_d"];
		$sp_lav_b = $list["sp_lav_b"];
		$sp_use_b = $list["sp_use_b"];
	}
	else
	{
		function getDirSize($dir)  
    	{   
        	$handle = opendir($dir);  
	        while (false!==($FolderOrFile = readdir($handle)))  
    	    {   
        	    if($FolderOrFile != "." && $FolderOrFile != "..")   
            	{   
                if(is_dir("$dir/$FolderOrFile"))  
                {   
                    $sizeResult += getDirSize("$dir/$FolderOrFile");   
                }  
                else  
                {   
                    $sizeResult += filesize("$dir/$FolderOrFile");   
                }  
            }      
        }  
        closedir($handle);  
        return $sizeResult;  
	    }  

		#单位自动转换函数  
		function getRealSize($size,$digits=2){ //digits，要保留几位小数
		$unit= array('','K','M','G','T','P');//单位数组，是必须1024进制依次的哦。
		$base= 1024;//对数的基数
		$i = floor(log($size,$base));//字节数对1024取对数，值向下取整。
		return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B';
		}

		#空间总共大小(字节)
		//$sp_all = disk_free_space("/");
		$sp_all = $can1*1024*1024;

		#已经使用空间大小(字节)
		$sp_use = dirname(__FILE__)."/../";
		$sp_use = getDirSize($sp_use)+($can2*1024*1024);

		#剩余空间大小(单位)
		$sp_lav = $sp_all - $sp_use;
		$sp_lav_d = getRealSize($sp_lav);

		#空间总共大小(单位)
		$sp_all_d = getRealSize($sp_all);

		#已经使用空间大小(单位)
		$sp_use_d = getRealSize($sp_use);

		$sp_lav_b = number_format($sp_lav/$sp_all, 4, '.', ''); //保留4位小数点
		$sp_use_b = (1-$sp_lav_b);
		$sp_lav_b = $sp_lav_b*100 ."%";
		$sp_use_b = $sp_use_b*100 ."%";

		$cache_file = "data/cache/space.cache.php";#[缓存文件]
		$space["sp_all_d"] = $sp_all_d;
		$space["sp_lav_d"] = $sp_lav_d;
		$space["sp_use_d"] = $sp_use_d;
		$space["sp_lav_b"] = $sp_lav_b;
		$space["sp_use_b"] = $sp_use_b;
		$FS->qgWrite($space,$cache_file,"list");
	}
}
elseif($act=="delete")
{
	$FS->qgDelete("data/cache/space.cache.php");
	Error("已刷新",$mainlink."?file=space&act=view");
}

Foot("space.qg");
?>